In particular methods are known in the state of the art for so-called cache coherence on parallel computers, in which a plurality of processors each have a dedicated associated cache memory, and memories and processes are typically connected together by way of a bus. Cache coherence is maintained by monitoring the access to a common memory or at least a common memory address space such as, for example, in the case of a distributed memory, and by association of states determining coherence with individual cache lines. In that respect, for example, the so-called MESI protocol is used. MESI is the abbreviation for modified exclusive shared invalid, wherein each of the aforementioned terms respectively defines an access state of a data object, which in turn affords the respectively most up-to-date version of a cache line, as is generally known to people skilled in the art in this field.
By monitoring the memory access, each processor or each control logic system of a cache memory can establish whether any of the copies of a cache line have been modified or overwritten, which generally has the result that any further copies in other cache memories are deemed invalid, and accordingly they can no longer be accessed. That ensures that each processor only accesses the respectively most up-to-date cache line.
Data objects which are exchanged in non memory-coupled networks and which are held by a plurality of users or nodes, and possibly modified, in contrast, are not present in the form of cache lines, but involve, in principle, any structure which is dependent on hardware and application program. Monitoring of the data traffic, or indeed the local memory accesses, is not viable in practice precisely in the case of large and widely distributed networks such as, for example, in the Internet, between all nodes which are involved in processing a specific data object, so that the methods which are based on cache line coherence and which are known from memory-coupled networks are not to be transferred to such networks.
On the other hand however, there is a considerable need for users who are possibly far away from each other and who are connected together by way of a WAN (wide area net) or the Internet to operate jointly on one and the same, often complex, data object, and for that purpose a respective instance of a data object must be stored on its local node or downloaded. Even computers or nodes connected in the form of an intranet of a relatively large corporate network cannot implement the cache coherence methods or can only implement them with a considerable degree of complication and expenditure, in regard to monitoring data traffic and in a considerably modified form, so that here too there is a need for an improved method of providing data coherence. Many corporations also have distributed sites which are only connected together by way of the Internet, in which case however, users or employees at various sites and possibly also mobile users who connect somewhere on the road by way of the Internet must operate on one and the same data object and for that purpose a respective instance of the data object and, more specifically, the respectively most up-to-date instance, must be loaded.
By way of example it is entirely usual that very extensive documents are partially produced and processed by a plurality of users who are active at locations which are very far away from each other and process the same object, in which respect it is indispensable that the various instances of such a data object are always kept coherent. A corresponding relatively complex document would be, for example, a document which describes and defines an interface agreement.